package com.njust.controller.RequestMappingHandler;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/viewparse")
public class ViewParseController {

    @RequestMapping("/handle1")
    public String handle01(){
        System.out.println("handle01");
        //相对路径
        return "../viewtest.jsp";
    }

    /**
     *  forward:转发到一个页面
     *  /viewtest.jsp：转发当前项目下的hello；
     *
     *  一定加上/，如果不加/就是相对路径。容易出问题；
     *  forward:/hello.jsp
     *  forward:前缀的转发，不会由我们配置的视图解析器拼串
     *
     * @return
     */
    @RequestMapping("/handle2")
    public String handle02(){
        System.out.println("handle02");
        return "forward:/viewtest.jsp";
    }

    /**
     * 请求转发
     * @return
     */
    @RequestMapping("/handle3")
    public String handle03(){
        System.out.println("handle03");
        return "forward:/viewparse/handle1";
    }

    /**
     * 重定向到viewtest.jsp页面
     * 有前缀的转发和重定向操作，配置的视图解析器就不会进行拼串；
     *
     * 转发	forward:转发的路径
     * 重定向	redirect:重定向的路径
     * 		/viewtest.jsp:代表就是从当前项目下开始；SpringMVC会为路径自动的拼接上项目名
     *
     * 		原生的Servlet重定向/路径需要加上项目名才能成功
     * 		response.sendRedirect("/viewtest.jsp")
     * @return
     */
    @RequestMapping("/handle4")
    public String handle04(){
        System.out.println("handle04....");
        return "redirect:/viewtest.jsp";
    }

    @RequestMapping("/handle5")
    public String handle05(){
        System.out.println("handle05...");
        return "redirect:/viewparse/handle4";
    }

	@RequestMapping("/toLoginPage")
	public String toLogin(){
//		return "forward:/jsp/login.jsp";
		return "login.jsp";
	}
}
